home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbasicpg.zip / SLOT.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  7KB  |  184 lines

  1.  
  2.  
  3. 10 M=25
  4. 20 RANDOMIZE INT(VAL(MID$(TIME$,7,2)))
  5. 30 CLS:GOSUB 1600
  6. 40 ' CONVERTED FOR IBM-PC FROM 101 BASIC COMPUTER GAMES BY DIGITAL
  7. 50 ' EQUIPMENT CORP. SUBMITTED TO DIGITAL BY ROB HOFFBERG OF ROSLYN N.Y.
  8. 60 ' AUTHOR UNKNOWN
  9. 70 ' THE ARM ACTION YOU WILL FIND IN THIS PROGRAM WAS ADDED AFTER IT WAS RECEIVED
  10. 80 ' THANKS TO THOMAS J. RIELY AND ANDREW T. POLLOCK
  11. 90 ' LINES 460-470 DRAWS THE ARM ITSELF
  12. 100 ' LINES 720-970 ADDS THE MOTION TO THE ARM
  13. 110 '
  14. 120 CLS
  15. 130 PRINT "OK ";N$;" Here are the odds:"
  16. 140 LOCATE 5,10:PRINT "SYMBOL     HOW MANY       PAYOUT"
  17. 150 LOCATE 6,10:PRINT "--------------------------------"
  18. 160 LOCATE 7,10:PRINT "CHERRY        3           $2.00"
  19. 170 LOCATE 8,10:PRINT"CHERRY        2           $1.00   LEFT & MID WINDOWS ONLY!"
  20. 180 LOCATE 9,10:PRINT "CHERRY        1           $0.50   LEFT WINDOW ONLY!"
  21. 190 LOCATE 11,10:PRINT "PLUM          3           $5.00"
  22. 200 LOCATE 12,10:PRINT "ORANGE        3           $7.50"
  23. 210 LOCATE 13,10:PRINT "*BAR*         3          $10.00"
  24. 220 LOCATE 15,10:PRINT "      LEMONS ALWAYS LOOSE"
  25. 230 LOCATE 20,5:PRINT "When the message PULL appears, press ENTER to PULL."
  26. 240 LOCATE 21,5:PRINT "Or type END to end the session."
  27. 250 LOCATE 23,5:PRINT "When you are ready to begin press ENTER.";:INPUT Z9$
  28. 260 L$=CHR$(186)
  29. 270 S$=CHR$(205)
  30. 280 B$=CHR$(186)
  31. 290 DIM W$(4)
  32. 300 W$(1)="CHERRY":W$(2)="      ":W$(3)="*BAR*  ":W$(4)=" PLUM "
  33. 310 'WHEEL ONE
  34. 320 DIM V$(7)
  35. 330 V$(1)="ORANGE":V$(2)=" PLUM ":V$(3)="LEMON ":V$(4)="*BAR* "
  36. 340 V$(7)="CHERRY":V$(5)="CHERRY":V$(6)="CHERRY"
  37. 350 ' WHEEL TWO
  38. 360 DIM V1$(7)
  39. 370 V1$(1)="*BAR* ":V1$(2)="LEMON ":V1$(3)=" PLUM "
  40. 380 V1$(4)="CHERRY":V1$(5)=" PLUM ":V1$(6)="ORANGE":V1$(7)="CHERRY"
  41. 390 ' WHEEL THREE
  42. 400 DIM V3$(5)
  43. 410 V3$(1)=" PLUM ":V3$(2)="*BAR* ":V3$(3)="CHERRY":V3$(4)="LEMON "
  44. 420 V3$(5)="ORANGE"
  45. 430 CLS
  46. 440 Y=16:FOR X=1 TO 18:LOCATE X,Y:PRINT B$:NEXT X
  47. 450 X=18:FOR Y=17 TO 50:LOCATE X,Y:PRINT B$:NEXT Y
  48. 460 Y=51:FOR X=18 TO 1 STEP -1:LOCATE X,Y:PRINT B$:NEXT X
  49. 470 X=1:FOR Y=50 TO 17 STEP-1:LOCATE X,Y:PRINT L$:NEXT Y
  50. 480 ' ARM
  51. 490 LOCATE 6,55:PRINT STRING$(3,223);
  52. 500 FOR X=7 TO 12:LOCATE X,56:PRINT CHR$(219);:NEXT
  53. 510 LOCATE 12,52:PRINT STRING$(3,220);
  54. 520 LOCATE 13,28:PRINT "P A Y O U T":LOCATE 14,33
  55. 530 X=15:FOR Y=24 TO 42:LOCATE X,Y:PRINT L$:NEXT Y
  56. 540 FOR X=15 TO 17:LOCATE X,43:PRINT S$:NEXT X
  57. 550 FOR Y=42 TO 24 STEP-1:LOCATE X,Y:PRINT L$:NEXT Y
  58. 560 FOR X=17 TO 15 STEP-1:LOCATE X,23:PRINT S$:NEXT X
  59. 570 ' ******LEFT WINDOW******
  60. 580 FOR Y=18 TO 26:LOCATE 5,Y:PRINT L$:NEXT Y
  61. 590 FOR X=5 TO 7:LOCATE X,27:PRINT S$:NEXT X
  62. 600 FOR Y=26 TO 18 STEP -1:LOCATE 7,Y:PRINT B$:NEXT Y
  63. 610 FOR X=7 TO 5 STEP-1:LOCATE X,18:PRINT S$:NEXT X
  64. 620 '******MID WINDOW******
  65. 630 FOR Y=30 TO 37:LOCATE 5,Y:PRINT L$:NEXT Y
  66. 640 FOR X=5 TO 7:LOCATE X,38:PRINT S$:NEXT X
  67. 650 FOR Y=37 TO 30 STEP-1:LOCATE 7,Y:PRINT B$:NEXT Y
  68. 660 FOR X=7 TO 5 STEP-1:LOCATE X,29:PRINT S$:NEXT X
  69. 670 ' ******RIGHT WINDOW******
  70. 680 FOR Y=41 TO 48:LOCATE 5,Y:PRINT L$:NEXT Y
  71. 690 FOR X=5 TO 7:LOCATE X,49:PRINT S$:NEXT X
  72. 700 FOR Y=48 TO 41 STEP-1:LOCATE 7,Y:PRINT B$:NEXT Y
  73. 710 FOR X=7 TO 5 STEP-1:LOCATE X,40:PRINT S$:NEXT X
  74. 720 ' DO YOU PULL OR END
  75. 730 LOCATE 21,24:PRINT "YOU NOW HAVE ";:PRINT USING "$$###.##";M
  76. 740 LOCATE 22,30:PRINT "PULL/END";:INPUT A$
  77. 750 FOR X=6 TO 11
  78. 760 LOCATE X,55:PRINT SPC(3);
  79. 770 LOCATE X+1,55:PRINT STRING$(3,223);
  80. 780 FOR DELAY=1 TO 30:NEXT DELAY
  81. 790 NEXT X
  82. 800 LOCATE 12,55:PRINT " "+CHR$(220)+" ";
  83. 810 FOR X=13 TO 15
  84. 820 LOCATE X,55:PRINT " "+CHR$(219)+" ";
  85. 830 LOCATE X+1,55:PRINT STRING$(3,223);
  86. 840 FOR DELAY=1 TO 30:NEXT DELAY
  87. 850 NEXT X
  88. 860 LOCATE 16,55:PRINT " "+CHR$(219)+" "
  89. 870 LOCATE 17,55:PRINT STRING$(3,220)
  90. 880 FOR DELAY=1 TO 100:NEXT DELAY
  91. 890 LOCATE 17,55:PRINT SPC(3);
  92. 900 LOCATE 16,55:PRINT STRING$(3,220);
  93. 910 FOR X=16 TO 13 STEP -1
  94. 920 LOCATE X,55:PRINT SPC(3);
  95. 930 LOCATE X-1,55:PRINT STRING$(3,220);
  96. 940 FOR DELAY=1 TO 10:NEXT DELAY
  97. 950 NEXT X
  98. 960 FOR X=12 TO 7 STEP -1
  99. 970 LOCATE X,55:PRINT " "+CHR$(219)+" ";
  100. 980 LOCATE X-1,55:PRINT STRING$(3,223);
  101. 990 FOR DELAY=1 TO 10:NEXT DELAY
  102. 1000 NEXT X
  103. 1010 LOCATE 16,24:PRINT E$;E$;E$;E$;"   "
  104. 1020 E$="    ":LOCATE 6,19:PRINT E$;E$:LOCATE 6,30:PRINT E$;E$:LOCATE 6,41:PRINT E$;E$
  105. 1030 IF A$="END" OR A$="E" THEN 1550
  106. 1040 ' * PICK THE WHEELS
  107. 1050 FOR I=1 TO 2:Z(I)=INT((RND*7)+1):NEXT I
  108. 1060 Z(3)=INT((RND*5)+1)
  109. 1070 '***** ROLL ALL WINDOWS AND PICK LEFT *****
  110. 1080 FOR X=1 TO 10:FOR Y=1 TO 4:LOCATE 6,20:PRINT W$(Y)
  111. 1090 LOCATE 6,31:PRINT W$(Y):LOCATE 6,42:PRINT W$(Y):NEXT Y:NEXT X
  112. 1100 LOCATE 6,20:PRINT V$(Z(1))
  113. 1110 SOUND 1000,2
  114. 1120 ' ***** ROLL MID AND RIGHT AND PICK MID *****
  115. 1130 FOR X=1 TO 15:FOR Y=1 TO 4
  116. 1140 LOCATE 6,31:PRINT W$(Y):LOCATE 6,42:PRINT W$(Y):NEXT Y:NEXT X
  117. 1150 LOCATE 6,31:PRINT V1$(Z(2))
  118. 1160 SOUND 1100,2
  119. 1170 ' ***** ROLL RIGHT AND PICK RIGHT *****
  120. 1180 FOR X=1 TO 20:FOR Y=1 TO 4
  121. 1190 LOCATE 6,42:PRINT W$(Y):NEXT Y:NEXT X
  122. 1200 LOCATE 6,42:PRINT V3$(Z(3))
  123. 1210 SOUND 1200,2
  124. 1220 ' DO I HAVE 3 OF A KIND?
  125. 1230 IF V$(Z(1))<>V1$(Z(2)) THEN 1360
  126. 1240 IF V1$(Z(2))<>V3$(Z(3)) THEN 1360
  127. 1250 IF V$(Z(1))<>"CHERRY" THEN 1270
  128. 1260 LOCATE 16,27:PRINT "YOU WIN $2.00":M=M+2:GOTO 720
  129. 1270 IF V$(Z(1))<>" PLUM " THEN 1290
  130. 1280 LOCATE 16,27:PRINT "YOU WIN $5.00":M=M+5:GOTO 720
  131. 1290 IF V$(Z(1))<>"ORANGE" THEN 1310
  132. 1300 LOCATE 16,27:PRINT "YOU WIN $7.50":M=M+7.5:GOTO 720
  133. 1310 IF V$(Z(1))<>"*BAR* " THEN 1330
  134. 1320 LOCATE 16,27:PRINT "YOU WIN $10.00";M=M+10:GOTO 720
  135. 1330 ' LEMONS
  136. 1340 LOCATE 16,28:PRINT "LEMONS LOSE!!":M=M-.25:GOTO 720
  137. 1350 '
  138. 1360 ' DO I HAVE CHERRIES?????
  139. 1370 IF V$(Z(1))<>"CHERRY" THEN 1440
  140. 1380 IF V1$(Z(2))<>"CHERRY" THEN 1420
  141. 1390 '
  142. 1400 ' TWO CHERRIES
  143. 1410 LOCATE 16,27:PRINT "YOU WIN $1.00":M=M+1:GOTO 720
  144. 1420 ' I CHERRY
  145. 1430 LOCATE 16,27:PRINT "YOU WIN $0.50":M=M+.5:GOTO 720
  146. 1440 '
  147. 1450 ' GOT SCHMALTZ!!?
  148. 1460 ON Z(3) GOSUB 1480,1490,1500,1510,1520,1530,1540
  149. 1470 M=M-.25:GOTO 720
  150. 1480 LOCATE 16,25:PRINT "TRY BINGO INSTEAD":RETURN
  151. 1490 LOCATE 16,25:PRINT "HA HA YOU LOSE":RETURN
  152. 1500 LOCATE 16,25:PRINT "      ZILCH-O":RETURN
  153. 1510 LOCATE 16,25:PRINT "BACK TO METEOR  ":RETURN
  154. 1520 LOCATE 16,25:PRINT "TRY VEGAS INSTEAD":RETURN
  155. 1530 LOCATE 16,25:PRINT "YOU GOT SCHMALTZ":RETURN
  156. 1540 LOCATE 16,26:PRINT "BACK TO STAR TREK":RETURN
  157. 1550 LOCATE 16,26:PRINT "GOODBY ";N$
  158. 1560 LOCATE 25,1:PRINT "Press <space> bar to exit";
  159. 1570 A$=INKEY$:IF A$="" THEN GOTO 1570
  160. 1580 CLS:END
  161. 1590 CLS:END
  162. 1600 ' COLOR 3
  163. 1610 KEY OFF:CLS:GOTO 1630
  164. 1620 CLS
  165. 1630 FOR J=2 TO 22
  166. 1640 LOCATE 2,2:PRINT CHR$(201):LOCATE 2,79:PRINT CHR$(187)
  167. 1650 LOCATE 23,2:PRINT CHR$(200):LOCATE 23,79:PRINT CHR$(188)
  168. 1660 LOCATE J,2:PRINT CHR$(186)
  169. 1670 LOCATE J,79:PRINT CHR$(186)
  170. 1680 NEXT J
  171. 1690 FOR J=3 TO 78
  172. 1700 LOCATE 2,J:PRINT CHR$(205)
  173. 1710 LOCATE 23,J:PRINT CHR$(205)
  174. 1720 NEXT J
  175. 1730 ' COLOR 2
  176. 1740 LOCATE 4,4:PRINT "W E L C O M E  T O . . ."
  177. 1750 LOCATE 9,30:PRINT "I B M ' S   C A S I N O"
  178. 1760 LOCATE 17,4:PRINT "Today you will lose your money at IBM's famous slot machine."
  179. 1770 LOCATE 18,4:PRINT "You have been given a credit line of $25.00. Therefore at 25 a pull you"
  180. 1780 LOCATE 19,4:PRINT "have a minimum of 100 pulls!"
  181. 1790 BEEP
  182. 1800 LOCATE 20,4:PRINT "By the way what is your name";:INPUT N$
  183. 1810 RETURN
  184.